package com.clear.honghefinance.biz.modules.assist_calculate_summary.converter;

import com.clear.honghefinance.biz.modules.assist_calculate_summary.domain.dto.CreateAssistCalculateCustomDTO;
import com.clear.honghefinance.biz.modules.assist_calculate_summary.domain.dto.UpdateAssistCalculateCustomDTO;
import com.clear.honghefinance.biz.modules.assist_calculate_summary.domain.entity.AssistCalculateCustom;
import com.clear.honghefinance.biz.modules.assist_calculate_summary.domain.vo.GetAssistCalculateBaseVO;
import com.clear.honghefinance.biz.modules.assist_calculate_summary.domain.vo.GetAssistCalculateCustomVO;
import com.clear.honghefinance.biz.modules.assist_calculate_summary.domain.vo.ListAssistCalculateCustomVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
public interface AssistCalculateCustomConvertor {

    AssistCalculateCustomConvertor INSTANCE = Mappers.getMapper(AssistCalculateCustomConvertor.class);

    AssistCalculateCustom convertDTOToEntity(CreateAssistCalculateCustomDTO dto);

    AssistCalculateCustom convertDTOToEntity(UpdateAssistCalculateCustomDTO dto);

    List<ListAssistCalculateCustomVO> convertEntityToVO(List<AssistCalculateCustom> entityList);

    <T extends GetAssistCalculateBaseVO> GetAssistCalculateCustomVO convertEntityToVO(AssistCalculateCustom entity);

}
